﻿using System;
using System.Data;
using System.Text;
using System.Data.SqlClient;
using Maticsoft.DBUtility;//Please add references
namespace Gift.DAL
{
    /// <summary>
    /// 数据访问类:DALGoodsCard
    /// </summary>
    public partial class DALGoodsCard
    {
        public DALGoodsCard()
        { }
        #region  Method
        /// <summary>
        /// 是否存在该记录
        /// </summary>
        public bool Exists(int id)
        {
            StringBuilder strSql = new StringBuilder();
            strSql.Append("select count(1) from tbGoodsCard");
            strSql.Append(" where id=@id");
            SqlParameter[] parameters = {
					new SqlParameter("@id", SqlDbType.Int,4)
			};
            parameters[0].Value = id;

            return DbHelperSQL.Exists(strSql.ToString(), parameters);
        }


        /// <summary>
        /// 增加一条数据
        /// </summary>
        public int Add(Gift.Model.tbGoodsCard model)
        {
            StringBuilder strSql = new StringBuilder();
            strSql.Append("insert into tbGoodsCard(");
            strSql.Append("cardCode,cardPass,isSend,sendWay,sendTime,orderCode,addTime,addAdminId,goodsId,sendEmail,enable,updateTtime,mobile,messageRemark)");
            strSql.Append(" values (");
            strSql.Append("@cardCode,@cardPass,@isSend,@sendWay,@sendTime,@orderCode,@addTime,@addAdminId,@goodsId,@sendEmail,@enable,@updateTtime,@mobile,@messageRemark)");
            strSql.Append(";select @@IDENTITY");
            SqlParameter[] parameters = {
					new SqlParameter("@cardCode", SqlDbType.VarChar,100),
					new SqlParameter("@cardPass", SqlDbType.VarChar,100),
					new SqlParameter("@isSend", SqlDbType.Bit,1),
					new SqlParameter("@sendWay", SqlDbType.VarChar,50),
					new SqlParameter("@sendTime", SqlDbType.DateTime),
					new SqlParameter("@orderCode", SqlDbType.NVarChar,50),
					new SqlParameter("@addTime", SqlDbType.DateTime),
					new SqlParameter("@addAdminId", SqlDbType.Int,4),
					new SqlParameter("@goodsId", SqlDbType.Int,4),
					new SqlParameter("@sendEmail", SqlDbType.VarChar,200),
					new SqlParameter("@enable", SqlDbType.Bit,1),
					new SqlParameter("@updateTtime", SqlDbType.DateTime),
					new SqlParameter("@mobile", SqlDbType.VarChar,50),
					new SqlParameter("@messageRemark", SqlDbType.NVarChar,50)};
            parameters[0].Value = model.cardCode;
            parameters[1].Value = model.cardPass;
            parameters[2].Value = model.isSend;
            parameters[3].Value = model.sendWay;
            parameters[4].Value = model.sendTime;
            parameters[5].Value = model.orderCode;
            parameters[6].Value = model.addTime;
            parameters[7].Value = model.addAdminId;
            parameters[8].Value = model.goodsId;
            parameters[9].Value = model.sendEmail;
            parameters[10].Value = model.enable;
            parameters[11].Value = model.updateTtime;
            parameters[12].Value = model.mobile;
            parameters[13].Value = model.messageRemark;

            object obj = DbHelperSQL.GetSingle(strSql.ToString(), parameters);
            if (obj == null)
            {
                return 0;
            }
            else
            {
                return Convert.ToInt32(obj);
            }
        }
        /// <summary>
        /// 更新一条数据
        /// </summary>
        public bool Update(Gift.Model.tbGoodsCard model)
        {
            StringBuilder strSql = new StringBuilder();
            strSql.Append("update tbGoodsCard set ");
            strSql.Append("cardCode=@cardCode,");
            strSql.Append("cardPass=@cardPass,");
            strSql.Append("isSend=@isSend,");
            strSql.Append("sendWay=@sendWay,");
            strSql.Append("sendTime=@sendTime,");
            strSql.Append("orderCode=@orderCode,");
            strSql.Append("addTime=@addTime,");
            strSql.Append("addAdminId=@addAdminId,");
            strSql.Append("goodsId=@goodsId,");
            strSql.Append("sendEmail=@sendEmail,");
            strSql.Append("enable=@enable,");
            strSql.Append("updateTtime=@updateTtime,");
            strSql.Append("mobile=@mobile,");
            strSql.Append("messageRemark=@messageRemark");
            strSql.Append(" where id=@id");
            SqlParameter[] parameters = {
					new SqlParameter("@cardCode", SqlDbType.VarChar,100),
					new SqlParameter("@cardPass", SqlDbType.VarChar,100),
					new SqlParameter("@isSend", SqlDbType.Bit,1),
					new SqlParameter("@sendWay", SqlDbType.VarChar,50),
					new SqlParameter("@sendTime", SqlDbType.DateTime),
					new SqlParameter("@orderCode", SqlDbType.NVarChar,50),
					new SqlParameter("@addTime", SqlDbType.DateTime),
					new SqlParameter("@addAdminId", SqlDbType.Int,4),
					new SqlParameter("@goodsId", SqlDbType.Int,4),
					new SqlParameter("@sendEmail", SqlDbType.VarChar,200),
					new SqlParameter("@enable", SqlDbType.Bit,1),
					new SqlParameter("@updateTtime", SqlDbType.DateTime),
					new SqlParameter("@mobile", SqlDbType.VarChar,50),
					new SqlParameter("@messageRemark", SqlDbType.NVarChar,50),
					new SqlParameter("@id", SqlDbType.Int,4)};
            parameters[0].Value = model.cardCode;
            parameters[1].Value = model.cardPass;
            parameters[2].Value = model.isSend;
            parameters[3].Value = model.sendWay;
            parameters[4].Value = model.sendTime;
            parameters[5].Value = model.orderCode;
            parameters[6].Value = model.addTime;
            parameters[7].Value = model.addAdminId;
            parameters[8].Value = model.goodsId;
            parameters[9].Value = model.sendEmail;
            parameters[10].Value = model.enable;
            parameters[11].Value = model.updateTtime;
            parameters[12].Value = model.mobile;
            parameters[13].Value = model.messageRemark;
            parameters[14].Value = model.id;

            int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
            if (rows > 0)
            {
                return true;
            }
            else
            {
                return false;
            }
        }

        /// <summary>
        /// 删除一条数据
        /// </summary>
        public bool Delete(int id)
        {

            StringBuilder strSql = new StringBuilder();
            strSql.Append("delete from tbGoodsCard ");
            strSql.Append(" where id=@id");
            SqlParameter[] parameters = {
					new SqlParameter("@id", SqlDbType.Int,4)
			};
            parameters[0].Value = id;

            int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
            if (rows > 0)
            {
                return true;
            }
            else
            {
                return false;
            }
        }
        /// <summary>
        /// 批量删除数据
        /// </summary>
        public bool DeleteList(string idlist)
        {
            StringBuilder strSql = new StringBuilder();
            strSql.Append("delete from tbGoodsCard ");
            strSql.Append(" where id in (" + idlist + ")  ");
            int rows = DbHelperSQL.ExecuteSql(strSql.ToString());
            if (rows > 0)
            {
                return true;
            }
            else
            {
                return false;
            }
        }

        /// <summary>
        /// 批量删除数据
        /// </summary>
        public bool UpdateEnable(int iEnable, string idlist)
        {
            StringBuilder strSql = new StringBuilder();
            strSql.AppendFormat("update  tbGoodsCard set enable={0}",iEnable);
            strSql.Append(" where isnull(isSend,0) = 0 and  id in (" + idlist + ")  ");
            int rows = DbHelperSQL.ExecuteSql(strSql.ToString());
            if (rows > 0)
            {
                return true;
            }
            else
            {
                return false;
            }
        }



        /// <summary>
        /// 得到一个对象实体
        /// </summary>
        public Gift.Model.tbGoodsCard GetModel(string sCardCode,string sCardPass)
        {

            StringBuilder strSql = new StringBuilder();
            strSql.Append("select  top 1 id,cardCode,cardPass,isSend,sendWay,sendTime,orderCode,addTime,addAdminId,goodsId,sendEmail,enable,updateTtime,mobile,messageRemark from tbGoodsCard ");
            strSql.Append(" where cardCode=@cardCode and cardPass=@cardPass");
            SqlParameter[] parameters = {
					new SqlParameter("@cardCode", SqlDbType.NVarChar,100),
                    new SqlParameter("@cardPass", SqlDbType.NVarChar,100)
			};
            parameters[0].Value = sCardCode;
            parameters[1].Value = sCardPass;

            Gift.Model.tbGoodsCard model = new Gift.Model.tbGoodsCard();
            DataSet ds = DbHelperSQL.Query(strSql.ToString(), parameters);
            if (ds.Tables[0].Rows.Count > 0)
            {
                if (ds.Tables[0].Rows[0]["id"] != null && ds.Tables[0].Rows[0]["id"].ToString() != "")
                {
                    model.id = int.Parse(ds.Tables[0].Rows[0]["id"].ToString());
                }
                if (ds.Tables[0].Rows[0]["cardCode"] != null && ds.Tables[0].Rows[0]["cardCode"].ToString() != "")
                {
                    model.cardCode = ds.Tables[0].Rows[0]["cardCode"].ToString();
                }
                if (ds.Tables[0].Rows[0]["cardPass"] != null && ds.Tables[0].Rows[0]["cardPass"].ToString() != "")
                {
                    model.cardPass = ds.Tables[0].Rows[0]["cardPass"].ToString();
                }
                if (ds.Tables[0].Rows[0]["isSend"] != null && ds.Tables[0].Rows[0]["isSend"].ToString() != "")
                {
                    if ((ds.Tables[0].Rows[0]["isSend"].ToString() == "1") || (ds.Tables[0].Rows[0]["isSend"].ToString().ToLower() == "true"))
                    {
                        model.isSend = true;
                    }
                    else
                    {
                        model.isSend = false;
                    }
                }
                if (ds.Tables[0].Rows[0]["sendWay"] != null && ds.Tables[0].Rows[0]["sendWay"].ToString() != "")
                {
                    model.sendWay = ds.Tables[0].Rows[0]["sendWay"].ToString();
                }
                if (ds.Tables[0].Rows[0]["sendTime"] != null && ds.Tables[0].Rows[0]["sendTime"].ToString() != "")
                {
                    model.sendTime = DateTime.Parse(ds.Tables[0].Rows[0]["sendTime"].ToString());
                }
                if (ds.Tables[0].Rows[0]["orderCode"] != null && ds.Tables[0].Rows[0]["orderCode"].ToString() != "")
                {
                    model.orderCode = ds.Tables[0].Rows[0]["orderCode"].ToString();
                }
                if (ds.Tables[0].Rows[0]["addTime"] != null && ds.Tables[0].Rows[0]["addTime"].ToString() != "")
                {
                    model.addTime = DateTime.Parse(ds.Tables[0].Rows[0]["addTime"].ToString());
                }
                if (ds.Tables[0].Rows[0]["addAdminId"] != null && ds.Tables[0].Rows[0]["addAdminId"].ToString() != "")
                {
                    model.addAdminId = int.Parse(ds.Tables[0].Rows[0]["addAdminId"].ToString());
                }
                if (ds.Tables[0].Rows[0]["goodsId"] != null && ds.Tables[0].Rows[0]["goodsId"].ToString() != "")
                {
                    model.goodsId = int.Parse(ds.Tables[0].Rows[0]["goodsId"].ToString());
                }
                if (ds.Tables[0].Rows[0]["sendEmail"] != null && ds.Tables[0].Rows[0]["sendEmail"].ToString() != "")
                {
                    model.sendEmail = ds.Tables[0].Rows[0]["sendEmail"].ToString();
                }
                if (ds.Tables[0].Rows[0]["enable"] != null && ds.Tables[0].Rows[0]["enable"].ToString() != "")
                {
                    if ((ds.Tables[0].Rows[0]["enable"].ToString() == "1") || (ds.Tables[0].Rows[0]["enable"].ToString().ToLower() == "true"))
                    {
                        model.enable = true;
                    }
                    else
                    {
                        model.enable = false;
                    }
                }
                if (ds.Tables[0].Rows[0]["updateTtime"] != null && ds.Tables[0].Rows[0]["updateTtime"].ToString() != "")
                {
                    model.updateTtime = DateTime.Parse(ds.Tables[0].Rows[0]["updateTtime"].ToString());
                }
                if (ds.Tables[0].Rows[0]["mobile"] != null && ds.Tables[0].Rows[0]["mobile"].ToString() != "")
                {
                    model.mobile = ds.Tables[0].Rows[0]["mobile"].ToString();
                }
                if (ds.Tables[0].Rows[0]["messageRemark"] != null && ds.Tables[0].Rows[0]["messageRemark"].ToString() != "")
                {
                    model.messageRemark = ds.Tables[0].Rows[0]["messageRemark"].ToString();
                }
                return model;
            }
            else
            {
                return null;
            }
        }



        /// <summary>
        /// 得到一个对象实体
        /// </summary>
        public Gift.Model.tbGoodsCard GetModel(int id)
        {

            StringBuilder strSql = new StringBuilder();
            strSql.Append("select  top 1 id,cardCode,cardPass,isSend,sendWay,sendTime,orderCode,addTime,addAdminId,goodsId,sendEmail,enable,updateTtime,mobile,messageRemark from tbGoodsCard ");
            strSql.Append(" where id=@id");
            SqlParameter[] parameters = {
					new SqlParameter("@id", SqlDbType.Int,4)
			};
            parameters[0].Value = id;

            Gift.Model.tbGoodsCard model = new Gift.Model.tbGoodsCard();
            DataSet ds = DbHelperSQL.Query(strSql.ToString(), parameters);
            if (ds.Tables[0].Rows.Count > 0)
            {
                if (ds.Tables[0].Rows[0]["id"] != null && ds.Tables[0].Rows[0]["id"].ToString() != "")
                {
                    model.id = int.Parse(ds.Tables[0].Rows[0]["id"].ToString());
                }
                if (ds.Tables[0].Rows[0]["cardCode"] != null && ds.Tables[0].Rows[0]["cardCode"].ToString() != "")
                {
                    model.cardCode = ds.Tables[0].Rows[0]["cardCode"].ToString();
                }
                if (ds.Tables[0].Rows[0]["cardPass"] != null && ds.Tables[0].Rows[0]["cardPass"].ToString() != "")
                {
                    model.cardPass = ds.Tables[0].Rows[0]["cardPass"].ToString();
                }
                if (ds.Tables[0].Rows[0]["isSend"] != null && ds.Tables[0].Rows[0]["isSend"].ToString() != "")
                {
                    if ((ds.Tables[0].Rows[0]["isSend"].ToString() == "1") || (ds.Tables[0].Rows[0]["isSend"].ToString().ToLower() == "true"))
                    {
                        model.isSend = true;
                    }
                    else
                    {
                        model.isSend = false;
                    }
                }
                if (ds.Tables[0].Rows[0]["sendWay"] != null && ds.Tables[0].Rows[0]["sendWay"].ToString() != "")
                {
                    model.sendWay = ds.Tables[0].Rows[0]["sendWay"].ToString();
                }
                if (ds.Tables[0].Rows[0]["sendTime"] != null && ds.Tables[0].Rows[0]["sendTime"].ToString() != "")
                {
                    model.sendTime = DateTime.Parse(ds.Tables[0].Rows[0]["sendTime"].ToString());
                }
                if (ds.Tables[0].Rows[0]["orderCode"] != null && ds.Tables[0].Rows[0]["orderCode"].ToString() != "")
                {
                    model.orderCode = ds.Tables[0].Rows[0]["orderCode"].ToString();
                }
                if (ds.Tables[0].Rows[0]["addTime"] != null && ds.Tables[0].Rows[0]["addTime"].ToString() != "")
                {
                    model.addTime = DateTime.Parse(ds.Tables[0].Rows[0]["addTime"].ToString());
                }
                if (ds.Tables[0].Rows[0]["addAdminId"] != null && ds.Tables[0].Rows[0]["addAdminId"].ToString() != "")
                {
                    model.addAdminId = int.Parse(ds.Tables[0].Rows[0]["addAdminId"].ToString());
                }
                if (ds.Tables[0].Rows[0]["goodsId"] != null && ds.Tables[0].Rows[0]["goodsId"].ToString() != "")
                {
                    model.goodsId = int.Parse(ds.Tables[0].Rows[0]["goodsId"].ToString());
                }
                if (ds.Tables[0].Rows[0]["sendEmail"] != null && ds.Tables[0].Rows[0]["sendEmail"].ToString() != "")
                {
                    model.sendEmail = ds.Tables[0].Rows[0]["sendEmail"].ToString();
                }
                if (ds.Tables[0].Rows[0]["enable"] != null && ds.Tables[0].Rows[0]["enable"].ToString() != "")
                {
                    if ((ds.Tables[0].Rows[0]["enable"].ToString() == "1") || (ds.Tables[0].Rows[0]["enable"].ToString().ToLower() == "true"))
                    {
                        model.enable = true;
                    }
                    else
                    {
                        model.enable = false;
                    }
                }
                if (ds.Tables[0].Rows[0]["updateTtime"] != null && ds.Tables[0].Rows[0]["updateTtime"].ToString() != "")
                {
                    model.updateTtime = DateTime.Parse(ds.Tables[0].Rows[0]["updateTtime"].ToString());
                }
                if (ds.Tables[0].Rows[0]["mobile"] != null && ds.Tables[0].Rows[0]["mobile"].ToString() != "")
                {
                    model.mobile = ds.Tables[0].Rows[0]["mobile"].ToString();
                }
                if (ds.Tables[0].Rows[0]["messageRemark"] != null && ds.Tables[0].Rows[0]["messageRemark"].ToString() != "")
                {
                    model.messageRemark = ds.Tables[0].Rows[0]["messageRemark"].ToString();
                }
                return model;
            }
            else
            {
                return null;
            }
        }

        /// <summary>
        /// 获得数据列表
        /// </summary>
        public DataSet GetList(string strWhere)
        {
            StringBuilder strSql = new StringBuilder();
            strSql.Append("select id,cardCode,cardPass,isSend,sendWay,sendTime,orderCode,addTime,addAdminId,goodsId,sendEmail,enable,updateTtime,mobile,messageRemark ");
            strSql.Append(" FROM tbGoodsCard ");
            if (strWhere.Trim() != "")
            {
                strSql.Append(" where " + strWhere);
            }
            return DbHelperSQL.Query(strSql.ToString());
        }

        /// <summary>
        /// 获得前几行数据
        /// </summary>
        public DataSet GetList(int Top, string strWhere, string filedOrder)
        {
            StringBuilder strSql = new StringBuilder();
            strSql.Append("select ");
            if (Top > 0)
            {
                strSql.Append(" top " + Top.ToString());
            }
            strSql.Append(" id,cardCode,cardPass,isSend,sendWay,sendTime,orderCode,addTime,addAdminId,goodsId,sendEmail,enable,updateTtime,mobile,messageRemark ");
            strSql.Append(" FROM tbGoodsCard ");
            if (strWhere.Trim() != "")
            {
                strSql.Append(" where " + strWhere);
            }
            strSql.Append(" order by " + filedOrder);
            return DbHelperSQL.Query(strSql.ToString());
        }

        /// <summary>
        /// 获取记录总数
        /// </summary>
        public int GetRecordCount(string strWhere)
        {
            StringBuilder strSql = new StringBuilder();
            strSql.Append("select count(1) FROM tbGoodsCard ");
            if (strWhere.Trim() != "")
            {
                strSql.Append(" where " + strWhere);
            }
            object obj = DbHelperSQL.GetSingle(strSql.ToString());
            if (obj == null)
            {
                return 0;
            }
            else
            {
                return Convert.ToInt32(obj);
            }
        }
        /// <summary>
        /// 分页获取数据列表
        /// </summary>
        public DataSet GetListByPage(string strWhere, string orderby, int startIndex, int endIndex)
        {
            StringBuilder strSql = new StringBuilder();
            strSql.Append("SELECT * FROM ( ");
            strSql.Append(" SELECT ROW_NUMBER() OVER (");
            if (!string.IsNullOrEmpty(orderby.Trim()))
            {
                strSql.Append("order by T." + orderby);
            }
            else
            {
                strSql.Append("order by T.id desc");
            }
            strSql.Append(")AS Row, T.*  from tbGoodsCard T ");
            if (!string.IsNullOrEmpty(strWhere.Trim()))
            {
                strSql.Append(" WHERE " + strWhere);
            }
            strSql.Append(" ) TT");
            strSql.AppendFormat(" WHERE TT.Row between {0} and {1}", startIndex, endIndex);
            return DbHelperSQL.Query(strSql.ToString());
        }

        /*
        /// <summary>
        /// 分页获取数据列表
        /// </summary>
        public DataSet GetList(int PageSize,int PageIndex,string strWhere)
        {
            SqlParameter[] parameters = {
                    new SqlParameter("@tblName", SqlDbType.VarChar, 255),
                    new SqlParameter("@fldName", SqlDbType.VarChar, 255),
                    new SqlParameter("@PageSize", SqlDbType.Int),
                    new SqlParameter("@PageIndex", SqlDbType.Int),
                    new SqlParameter("@IsReCount", SqlDbType.Bit),
                    new SqlParameter("@OrderType", SqlDbType.Bit),
                    new SqlParameter("@strWhere", SqlDbType.VarChar,1000),
                    };
            parameters[0].Value = "tbGoodsCard";
            parameters[1].Value = "id";
            parameters[2].Value = PageSize;
            parameters[3].Value = PageIndex;
            parameters[4].Value = 0;
            parameters[5].Value = 0;
            parameters[6].Value = strWhere;	
            return DbHelperSQL.RunProcedure("UP_GetRecordByPage",parameters,"ds");
        }*/

        #endregion  Method
    }
}

